// 有需要全局调用的组件都可以引入进来
import SvgIcon from './Svgicon/index.vue'
import Pagenation from './Pagenation/index.vue'

// 引入element-plus提供的全部图标组件
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

const allGloablComponent = { SvgIcon, Pagenation };

// 对外暴漏插件对象
export default {
    install(app: any) {
        // Object.keys(allGloablComponent)返回一个数组，元素为object对象allGloablComponent中所有属性名
        Object.keys(allGloablComponent).forEach(key => {
            // 注册全局组件：在任何Vue组件中，你都可以直接使用这些组件，而不需要在每个组件中单独导入它们
            // @ts-ignore
            app.component(key, allGloablComponent[key]);
        });
        // 将element-plus提供的图标注册为全局组件
        for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
            app.component(key, component)
        }
    }
}